package com.agileboot.attendance.domain.record.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 考勤记录导入DTO
 *
 * @author agileboot
 */
@Data
@Schema(description = "考勤记录导入项")
public class AttendanceRecordImportDTO {

    /**
     * 员工ID或工号
     */
    @Schema(description = "员工ID或工号")
    @NotNull(message = "员工ID或工号不能为空")
    private String employeeCode;

    /**
     * 员工姓名
     */
    @Schema(description = "员工姓名")
    private String employeeName;

    /**
     * 考勤日期
     */
    @Schema(description = "考勤日期")
    @NotNull(message = "考勤日期不能为空")
    private LocalDate attendanceDate;

    /**
     * 上班打卡时间
     */
    @Schema(description = "上班打卡时间")
    private LocalDateTime clockInTime;

    /**
     * 上班打卡地址
     */
    @Schema(description = "上班打卡地址")
    private String clockInAddress;

    /**
     * 下班打卡时间
     */
    @Schema(description = "下班打卡时间")
    private LocalDateTime clockOutTime;

    /**
     * 下班打卡地址
     */
    @Schema(description = "下班打卡地址")
    private String clockOutAddress;

    /**
     * 状态（0正常 1异常 2请假 3出差）
     */
    @Schema(description = "状态（0正常 1异常 2请假 3出差）")
    private String status;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
} 